package main

import "fmt"

// 定义函数1 			func funcname(x T, y T) T {}
// 定义函数2 			func funcname(x, y T) T {}
// 定义函数3（可变参数）  func funcname(x ...T){}

// 求两个函数的和
func sumFn(x int, y int) int {
	sum := x + y
	return sum
}

// 求多个数的和
func sumNFn(x int, y ...int) int {
	sum := x
	for _, v := range y {
		sum += v
	}
	return sum
}

func calc1(x, y int) (int, int) {
	return x + y, x - y
}

func calc2(x, y int) (sum int, sub int) {
	sum = x + y
	sub = x - y
	return
}

var a = 1

func main() {
	// var a = 2
	// fmt.Println(a)
	// sum1 := sumFn(12, 3)
	// fmt.Println(sum1)
	// sum2 := sumNFn(100, 1, 2, 3, 4, 5)
	// fmt.Println(sum2)
	// sum3, sub3 := calc1(12, 3)
	// fmt.Println(sum3, sub3)
	// sum4, sub4 := calc1(12, 3)
	// fmt.Println(sum4, sub4)

	// 匿名函数
	j := func(x, y int) int { return x * y }
	fmt.Println(j(1, 2))

	// 匿名自执行韩式
	k := func(x, y int) int { return x * y }(1, 2)
	fmt.Println(k)
}
